package com.stone.service;

import java.util.List;

import com.stone.model.Provider;
import com.stone.utils.Page;

public interface IProviderService {
	
	/**
	 * 保存供应商
	 * @param provider
	 * @return 返回刚刚保存的供应商
	 */
	public Provider addProvider(Provider provider);
	
	/**
	 * 更新供应商
	 * @param provider
	 * @return
	 */
	public void updateProvider(Provider provider);
	
	/**
	 * 通过名字返回列表
	 * @param providerName
	 * @return
	 */
	public List<Provider> findProviderByName(String providerName);
	
	/**
	 * 通过名字 返回第几页
	 * @param providerName
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public Page findProviderByName(String providerName,int pageNo,int pageSize);
	
	/**
	 * 通过供应商的ID取得此供应商
	 * @param providerId
	 * @return
	 */
	public Provider findProviderById(Long providerId);
	
	/**
	 * 取得所有的供应商 并分页
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public Page findAllProviders(int pageNo, int pageSize);
	
	/**
	 * 取得所有的供应商
	 * @return
	 */
	public List<Provider> findAllProviders();

	public Page findAllDisplayProviders(int pageNo, int pageSize);
	
	/**
	 * 
	 * @return
	 */
	public boolean createIndex(String path);
	/**
	 * 
	 * @param path
	 * @return
	 */
	public boolean createNewIndex(String path);
	/**
	 * 搜索供应商
	 * @param query
	 * @param pageno
	 * @param pageSize
	 * @return
	 */
	public Page getHighSearchProvider(String path,String query,int pageno,int pageSize);

	/**
	 * 删除某供应商
	 * @param provider
	 */
	public void deleteProvider(Provider provider);
	
	public boolean check(String userName, String password);
	
	public Provider findProviderByUsername(String username);
}
